<?php
 // Variables :
 //  $r : Regularisation Remplissage (0 et 1)
 //  $t : Type de saisie Remplissage (0 et 1)
 //  $c : Couleur de fond Remplissage (0 et 1)
 //
 If (IsSet ($_POST ["r"])) { $r = $_POST ["r"] ; } ElseIf (IsSet ($_GET ["r"])) { $r = $_GET ["r"] ; }
 If (IsSet ($_POST ["t"])) { $t = $_POST ["t"] ; } ElseIf (IsSet ($_GET ["t"])) { $t = $_GET ["t"] ; }
 If (IsSet ($_POST ["c"])) { $c = $_POST ["c"] ; } ElseIf (IsSet ($_GET ["c"])) { $c = $_GET ["c"] ; }
 $largeur = 1 ;
 $hauteur = StrLen ($r) ;
 If ($hauteur < 24) { $hauteur = 24 ; }
 $img = @ImageCreate ($largeur, $hauteur) Or Die ("Je ne peux pas initialiser la bibliotheque GD : Voir l'administrateur reseau") ;
 // Absence
 $couleur [1][0] = ImageColorAllocate ($img, 255, 0, 0) ; // Non Regularise -> Rouge
 $couleur [1][1] = ImageColorAllocate ($img, 0, 255, 0) ; // Regularise -> Vert
 // Retard
 $couleur [2][0] = ImageColorAllocate ($img, 255, 153, 0) ; // Non Regularise -> Orange
 $couleur [2][1] = ImageColorAllocate ($img, 0, 255, 0) ; // Regularise -> Vert
 // Dispense
 $couleur [3][0] = ImageColorAllocate ($img, 0, 255, 0) ; // Non Regularise -> Vert
 $couleur [3][1] = ImageColorAllocate ($img, 0, 255, 0) ; // Regularise -> Vert
 // Autre (present)
 $rouge = (integer)HexDec (SubStr ($c, 0, 2)) ; 
 $vert = (integer)HexDec (SubStr ($c, 2, 2)) ;
 $bleu = (integer)HexDec (SubStr ($c, 4, 2)) ;
 //echo $rouge."-".$vert."-".$bleu ;
 $couleur_a = ImageColorAllocate ($img, $rouge, $vert, $bleu) ;
 
 For ($i = 0 ; $i < StrLen ($r) ; $i++)
  {
   If (SubStr ($r, $i, 1) == "0") { ImageSetPixel ($img, 0, $i, $couleur [(integer)SubStr ($t, $i, 1)][0]) ; }
   ElseIf (SubStr ($r, $i, 1) == "1") { ImageSetPixel ($img, 0, $i, $couleur [(integer)SubStr ($t, $i, 1)][1]) ; }
   ElseIf (SubStr ($r, $i, 1) == "A") { ImageSetPixel ($img, 0, $i, $couleur_a) ; }
  }
 For ($i = StrLen ($r) ; $i <= 24 ; $i++)
  {
   ImageSetPixel ($img, 0, $i, $couleur_a) ;
  }
 Header ("Content-type: image/png") ;
 @ImagePng ($img) ;
 @ImageDestroy ($img) ;
?>